Remote keyless entry systems are widely used in connection with motor vehicles. The owner of the motor vehicle or another authorized person can, for example, unlock one or more of the vehicle doors, lock the vehicle doors, unlock the vehicle trunk, or sound an alarm by pressing one of a plurality of buttons on a remote keyless entry device, often referred to as a key fob or remote keyless entry (RKE) transmitter. The key fob or RKE transmitter transmits a command signal, by some form of modulated electromagnetic radiation, to a receiver in the motor vehicle. The signal includes the command (e.g., unlock the driver door) and, at least, an identifier that identifies to the receiver that this particular RKE transmitter is authorized to send such a command to this particular motor vehicle. Although the RKE transmitter provides a great convenience to the vehicle owner, it also presents various security issues. In order to overcome these security issues, it is common to encrypt the transmission from the RKE transmitter to the receiver. Initial attempts at security used a fixed encryption key for the transmission. Unauthorized persons could monitor and record a transmission from the RKE transmitter and could use the recorded transmission to gain unauthorized access to the vehicle at some later time.
To improve security, motor vehicle manufacturers adopted a “rolling code” method of encryption. The rolling code is base on some type of transmitter specific “secret” that is shared between the transmitter and the receiver. That secret information is used as an encryption key, or as the key to a message authentication code (i.e., a code that can only be generated by one in possession of the key). Some input to the encryption/authentication process is incremented in a manner known to both the transmitter and the receiver with the transmission of each message. That is, each time a command is transmitted from the RKE transmitter to the receiver in the motor vehicle, some input is incremented to insure that the encrypted message or authenticator changes with each transmission. By using the rolling code, the system cannot be defeated by simply intercepting a transmission and repeating it later. There are many ways to implement rolling code encryption. In one form of the rolling code both the RKE transmitter and the receiver are set to an initial code seed and rolling algorithm. Every time a command message is sent from the RKE transmitter to the receiver, both the RKE transmitter and the receiver update the code according to the rolling algorithm. Because the receiver will not always receive a transmission from the RKE transmitter (a blind transmission), for example when the receiver is beyond the range of the RKE transmitter, the receiver must be able to look ahead and react to codes that are within an acceptable future code window. Some mechanism must be provided to resynchronize the RKE transmitter and the receiver if the transmitted code is not within the acceptable window. The need for resynchronization can occur, for example, when a lost RKE transmitter is replaced or when for any other reason the transmitted code is outside the window. Such need for resynchronization is met by placing the RKE transmitter and the receiver in a training or program mode. The necessity for providing for a training mode, however, creates an additional security issue. During the training, the RKE transmitter must transmit the code secret, such as an encryption key, to the receiver. An unauthorized person in possession of the RKE transmitter could place the RKE transmitter in the training mode and cause the RKE transmitter to transmit the secret information. The unauthorized person could record the secret information and use it to gain access to the motor vehicle at a later time. Although there are a multitude of methods for implementing a rolling code encryption method for a motor vehicle remote keyless entry system, all of those methods are susceptible to the security issues presented by the necessity for a training mode.
Accordingly, it is desirable to provide remote keyless entry devices, systems and methods that overcome the security issues attendant with prior devices, systems, and methods. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.